function animacja(stan_robotow,czas)
    global ilosc_robotow;
    
    hstart=zeros(1,ilosc_robotow);
    rezerwacje=zeros(ilosc_robotow,100);
    
    for i=1:ilosc_robotow
        hstart(i)=text(stan_robotow(1,i).pozycja(1),23-stan_robotow(1,i).pozycja(2),'O');
    end;
    
    for i=[3:10 13:20]
        for j=[3 10 13 20]
            text(i,j,'#');
        end;
    end;
    for i=[3:10 13:20]
        for j=[4 6 7 9 14 16 17 19]
            text(i,j,'H');
        end;
    end;

    axis([0 23 0 23]);

    for k=czas:length(stan_robotow),
        Iteracja=k
        for i=1:ilosc_robotow,
            set(hstart(i),'Position',[stan_robotow(k,i).pozycja(1) 23-stan_robotow(k,i).pozycja(2)]);
            for x=1:100
                if(rezerwacje(i,x)==0)
                    break;
                else
                    delete(rezerwacje(i,x));
                    rezerwacje(i,x)=0;
                end;
            end;
            for x=1:size(stan_robotow(k,i).zarezerwowane,2)
                rezerwacje(i,x)=text(stan_robotow(k,i).zarezerwowane(x).x,23-stan_robotow(k,i).zarezerwowane(x).y,int2str(i));
            end;
            stan(i,stan_robotow(k,i))
        end;
      drawnow
      axis([0 23 0 23]);
      str=['Iteracja: ',int2str(k),'',''];
      title(str);
      pause;
    end
    title('Zakończono!');
    
    
function obj=stan(i,robot)
    obj.indeks=i;
    obj.xy=robot.xy;
    switch(robot.stan)
        case {0}
            obj.stan='bezczynny';
        case {1}
            obj.stan='ruch w głównym korytarzu';
        case {2}
            obj.stan='ruch pomiędzy regałami';
        case {3}
            obj.stan='wyprzedzanie';
        case {4}
            obj.stan='kolejkowanie';
        case {5}
            obj.stan='pobieranie produktu';
        case {6}
            obj.stan='rozładunek';
            end;
    obj.kasa=robot.numer_kasy;
    obj.do_zabrania=robot.do_zabrania;
    obj.zabrane=robot.zabrane_produkty;